package com.zg.scf.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zg.common.core.dao.scf.entity.Person;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

/**
 * DESCRIPTION
 *
 * @author zhanfeng.liang
 * @since 2025-07-23
 */
@Data
@ApiModel(value = "公司Vo", description = "公司信息")
public class CompanyVo {

    private Long id;
    @ApiModelProperty(value = "统一社会信用代码", example = "911101010000000000", required = true)
    private String creditCode;

    @ApiModelProperty(value = "企业名称", example = "示例科技有限公司", required = true)
    private String companyName;

    @ApiModelProperty(value = "省份", example = "北京市")
    private String province;

    @ApiModelProperty(value = "城市", example = "北京市")
    private String city;

    @ApiModelProperty(value = "区域", example = "海淀区")
    private String area;

    @ApiModelProperty(value = "详细地址", example = "北京市海淀区中关村大街1号")
    private String address;

    @ApiModelProperty(value = "营业开始日期", example = "2020-01-01")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date bizBegin;

    @ApiModelProperty(value = "营业结束日期", example = "2050-01-01")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date bizEnd;

    @ApiModelProperty(value = "注册资本单位", example = "1000")
    private Integer capitalUnit;

    @ApiModelProperty(value = "企业性质", example = "民营企业")
    private String companyNature;

    @ApiModelProperty(value = "组织类型", example = "有限责任公司")
    private String orgType;

    @ApiModelProperty(value = "信用代码图片路径", example = "http://example.com/credit_code.jpg")
    private String creditCodeImg;

    @ApiModelProperty(value = "资质证书图片路径", example = "http://example.com/credential.jpg")
    private String credentialImg;

    @ApiModelProperty(value = "实缴资本单位", example = "500")
    private Integer realUnit;

    @ApiModelProperty(value = "是否上市（0：否；1：是）", example = "0")
    private Integer isListed;

    @ApiModelProperty(value = "股票代码", example = "600000")
    private String stockCode;

    @ApiModelProperty(value = "股票简称", example = "浦发银行")
    private String stockShortName;

    @ApiModelProperty(value = "上市市场", example = "上交所")
    private String market;

    @ApiModelProperty(value = "主营业务", example = "软件开发、技术服务")
    private String mainBusiness;

    @ApiModelProperty(value = "核心产品", example = "企业管理系统")
    private String coreProduct;

    @ApiModelProperty(value = "行业类型", example = "信息技术")
    private String industryType;

    @ApiModelProperty(value = "集团名称", example = "示例集团")
    private String groupName;

    @ApiModelProperty(value = "邮政编码", example = "100080")
    private String postCode;

    @ApiModelProperty(value = "是否来自企查查（0：否；1：是）", example = "0")
    private String isQcc;

    @ApiModelProperty(value = "公司类型 1-融资企业 2-金融机构", example = "供应商")
    private String companyType;


    private PersonVo agentPerson;

    private PersonVo contactPerson;

    @ApiModelProperty(value = "企业编码")
    private String companyCode;

    /**
     * 客户类型
     */
    @ApiModelProperty(value = "客户类型0-焦煤用户 1-物流用户 2-系统用户")
    private String customerType;
    /**
     * 焦煤编码
     */
    @ApiModelProperty(value = "焦煤编码")
    private String coalCode;
    /**
     * 物流编码
     */
    @ApiModelProperty(value = "物流编码")
    private String logisticsCode;
    /**
     * 审核状态
     */
    @ApiModelProperty(value = "审核状态0-待认证 1-认证待审核 2-认证通过 3-认证驳回 4-变更待审核 5-变更驳回 6-变更通过")
    private String auditStatus;

    /**
     * 服务时间开始
     */
    @ApiModelProperty(value = "服务时间开始")
    private Date serviceStartTime;
    /**
     * 服务时间结束
     */
    @ApiModelProperty(value = "服务时间结束")
    private Date serviceEndTime;

    /**
     * 状态
     */
    @ApiModelProperty(value = "状态 0-启用 1-停用")
    private String status;

    /**
     * 企业等级
     */
    @ApiModelProperty(value = "企业等级")
    private String levelName;

}
